import {
	ref
} from "vue"
// 封装request请求
export default function(config) {

	// 如果本地有数据，则需要携带token
	const mytoken = wx.getStorageSync('token')
	let urls = ref([])
	let errs = ref([])
	if (mytoken) {
		config.header = {
			"Authorization": mytoken
		}
	}

	function up(url) {
		return new Promise((resolve, reject) => {
			wx.uploadFile({
				header: config.header,
				url: 'http://localhost:8080/file/uploada',
				filePath: url,
				name: 'file',
				formData: {},
				success(res) {
					// console.log("微信",JSON.parse(res.data).data[0].url);
					urls.value.push(JSON.parse(res.data).data[0].url)
					resolve(1)
				},
				fail(err) {
					errs.value.push(err)
					reject(1)
				}
			});
		})
	}
	// #ifdef H5
	uni.chooseImage({
		success: (chooseImageRes) => {
			const tempFilePaths = chooseImageRes.tempFiles;
			let filearray=ref([])
			tempFilePaths.forEach(item=>{
				// console.log("得到文件对象",item);
				if(filearray.value.length<9){
					filearray.value.push({name:'file',file:item,uri:item.path})
				}
			})
			uni.uploadFile({
				header: config.header,
				url: '/api/file/uploada', //仅为示例，非真实的接口地址
				// filePath: tempFilePaths[0],
				files: filearray.value,
				name: 'file',
				formData: {

				},
				success(res){
					// console.log("得到后台图片数组",res);
					JSON.parse(res.data).data.forEach(item=>urls.value.push(item.url))
					if (typeof config.success === 'function') {
						config.success(urls.value);
					}
					urls.value=null
					errs.value=null
				},
				fail: config.fail
			});
		}


	});
	// #endif
	// #ifdef MP-WEIXIN
	uni.chooseImage({
		 success:async (res)=> {
			const tempFilePaths = res.tempFilePaths
			// tempFilePaths.forEach(async item => {
			// 	await up(item)
			// })
			for (var i = 0; i < tempFilePaths.length&&i<9; i++) {
				await up(tempFilePaths[i])
			}
			if (typeof config.success === 'function') {
				config.success(urls.value);
			}
			if (typeof config.fail === 'function') {
				config.fail(errs.value);
			}
			urls.value=null
			errs.value=null
		}
	})
	// #endif

	// 使用示例

	// uploadFile({
	// 	success(res){
	// 		console.log(JSON.parse(res.data).data.url);
	// 	},
	// 	fail(err){
	// 		console.log(err);
	// 	}
	// })
}